﻿using BLL.Models.Administrators;
using BLL.Models.Users;
using BLL.Services.Users;

namespace BLL.Security
{
    public interface IEnvironmentContext
    {
        /// <summary>
        /// Gets user information current code is being executed under.
        /// </summary>
        User User { get; }

        /// <summary>
        /// Gets the administrator.
        /// </summary>
        Administrator Administrator { get; }

        /// <summary>
        /// Gets a value indicating whether this <see cref="EnviromentContext"/> is system.
        /// </summary>
        /// <value>
        ///   <c>true</c> if system; otherwise, <c>false</c>.
        /// </value>
        bool System { get; }
    }
}